#include "widget.h"
#include "./ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    //test 1

    // ui->setupUi(this);
    // resize(800, 600);  // 设置窗口大小

    // QPushButton *btn = new QPushButton("颜色对话框", this);
    // btn->resize(120, 40);  // 建议：设置按钮尺寸
    // btn->move(340, 280);   // 建议：设置按钮位置

    // // 创建颜色对话框（无需提前实例化，getColor是静态方法）
    // connect(btn, &QPushButton::clicked, [=]() {
    //     // 打开颜色对话框，默认红色，返回用户选择的颜色
    //     QColor color = QColorDialog::getColor(QColor(255, 0, 0), this, "选择颜色");

    //     // 输出RGB值（需检查颜色是否有效）
    //     if (color.isValid()) {
    //         qDebug() << "R =" << color.red();
    //         qDebug() << "G =" << color.green();
    //         qDebug() << "B =" << color.blue();
    //     } else {
    //         qDebug() << "用户取消了选择";
    //     }
    // });

    //test 2

    resize(800, 600);  // 设置窗口大小

    QPushButton *btn = new QPushButton("颜色对话框", this);
    btn->resize(120, 40);  // 设置按钮尺寸
    btn->move(340, 280);   // 设置按钮位置

    // 创建颜色对话框
    QColorDialog *cdlg = new QColorDialog(this);
    cdlg->setWindowTitle("选择颜色");  // 建议：设置对话框标题
    cdlg->setOption(QColorDialog::ShowAlphaChannel);  // 可选：支持透明度选择

    connect(btn, &QPushButton::clicked, [=]() {
        // 设置默认颜色（浅紫色）
        cdlg->setCurrentColor(QColor(200, 100, 190));

        // 非模态显示对话框
        cdlg->open();
    });

}

Widget::~Widget()
{
    delete ui;
}
